/**
 * 未来24小时天气
 */
import ArrayList from '@ohos.util.ArrayList'

export class WeatherForFutureHour {
  isInit: boolean = false

  code: string
  /**
   * 当前API的最近更新时间
   */
  updateTime: string
  /**
   * 未来小时天气
   */
  hourly: ArrayList<Hourly>

  static transition(dto: any): WeatherForFutureHour {
    let weatherForFuture = new WeatherForFutureHour()
    weatherForFuture.code = dto.code
    weatherForFuture.updateTime = dto.updateTime
    weatherForFuture.hourly = new ArrayList()
    for (const index in dto.hourly) {
      weatherForFuture.hourly.add(Hourly.transition(dto.hourly[index]))
    }
    return weatherForFuture
  }
}

export class Hourly {
  /**
   * 时间
   */
  fxTime: string
  /**
   *  风速，公里/小时
   */
  windSpeed: string
  /**
   * 温度，默认单位：摄氏度
   */
  temp: string
  /**
   * 相对湿度，百分比数值
   */
  humidity: string
  /**
   * 风力等级
   */
  windScale: string
  /**
   * 风向
   */
  windDir: string
  /**
   * 风向360角度
   */
  wind360: string
  /**
   * 天气状况的图标代码
   */
  icon: string
  /**
   * 天气状况的文字描述，包括阴晴雨雪等天气状态的描述
   */
  text: string
  /**
   * 大气压强，默认单位：百帕
   */
  pressure: string

  static transition(dto: any): Hourly {
    let futureHour = new Hourly()
    futureHour.fxTime = dto.fxTime
    futureHour.windSpeed = dto.windSpeed
    futureHour.temp = dto.temp
    futureHour.humidity = dto.humidity
    futureHour.windScale = dto.windScale
    futureHour.windDir = dto.windDir
    futureHour.wind360 = dto.wind360
    futureHour.icon = dto.icon
    futureHour.text = dto.text
    futureHour.pressure = dto.pressure
    return futureHour
  }
}